Piastri headed Lando Norris as McLaren showed its hand late in the final hour of running ahead of qualifying.
The result did flatter McLaren somewhat as both Charles Leclerc and Carlos Sainz set their best laps earlier in the session, with their final attempts thwarted by a late red flag.
The tough start to the event for Red Bull Racing continued with Max Verstappen only sixth, behind George Russell in fifth, while Sergio Perez was 12th.
As the session began, Ferrari and Red Bull Racing immediately sent their drivers out, with the quartet the only ones to complete a timed lap inside the opening 10 minutes.
Others had been on track, including Lando Norris and Lance Stroll who were first out as the session began.
Leclerc set the early pace, a 1:16.281s on soft tyres that left him 0.2s clear of Verstappen in second, on a set of mediums.
It was a promising early display from the Red Bull Racing driver, who had had an uncharacteristically scrappy opening to the weekend.
Midway through the session, Fernando Alonso lost the rear of his Aston Martin at the final corner.
The Spaniard was pitched into a spin that saw him skip across the top of the gravel trap and into the wall, damaging the left-rear of the car.
It was a reasonably hefty impact, enough to draw the medical car to the scene though the Spaniard was uninjured.
A seven-minute delay resulted before Esteban Ocon headed the pack back out on track.
That saw Piastri record his first proper lap of the session, enough to see him rise to third fastest, 0.190s away from Sainz at the top of the timesheet.
A second lap looked even better before he got loose entering the final turn, and bouncing through the gravel exiting Rivazza.
Nonetheless, it was encouraging for the McLaren driver as it suggested he had the pace to match Ferrari heading into qualifying.
He soon turned that promise into a stunning lap inside the final minutes of the session, banking a 1:15.529s which left him half a second clear of the pack.
That was reduced by Lando Norris who recorded a time 0.3s slower as the chequered flag waved, the Brit the only driver to improve following a brief red flag.
Perez triggered that when he took too much kerb entering the Variante Alta and was delivered to the barrier on corner exit.
It wasn’t a large impact but enough to knock off the nose and leave the RB20 bogged in the gravel.
That stoppage lasted only three minutes, the session resuming with only two minutes left on the clock.
There was a stampede out of the lane that saw a desperate Leclerc weaving through traffic in an attempt to jump the queue and start a final flying lap before the chequered flag waved.
He made it through, though not before almost making contact with Piastri and an Alpine at the final corner.
Kevin Magnussen also had a near miss as he approached Variante Alta only to find both RBs moving slowly.
That forced the Haas driver to take to the grass to avoid the pair, an incident noted by the officials – as Piastri had been for his role in the Leclerc moment.
At the end of the hour, Piastri headed Norris by exactly three-tenths, then came Sainz, Leclerc, Russell, Verstappen, Alex Albon, Ocon, Lance Stroll and Nico Hulkenberg with Daniel Ricciardo in 11th and Perez 12th.